package river_city_ransom.decorators;

import exceptions.ComposantError;
import river_city_ransom.services.Position;


public class Position_D implements Position {
	private Position delegate;
	
	public Position_D(Position delegate) {
		this.delegate = delegate;
	}
	
	protected Position delegate() {
		return delegate;
	}
	
	@Override
	public boolean equals(Object o) {
		return delegate().equals(o);
	}
	
	@Override
	public String toString() {
		return delegate().toString();
	}
	
	/** _________________________________________________________ OBSERVATORS */
	@Override
	public int x() {
		return delegate().x();
	}

	@Override
	public int y() {
		return delegate().y();
	}

	@Override
	public int z() {
		return delegate().z();
	}

	/** ________________________________________________________ CONSTRUCTORS */
	@Override
	public void init(int x, int y, int z) throws ComposantError {
		delegate().init(x, y, z);
	}
}
